package com.tencent.sr.iris.basic.saas.interfaces.response.activity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

@Data
@Accessors(chain = true)
@ApiModel("任务详情响应")
public class ActivityTaskPageResponse {

    private Long id;

    @ApiModelProperty("下级uid")
    private String uid;

    @ApiModelProperty("下级昵称")
    private String nickname;

    @ApiModelProperty("下级等级")
    private String userLevel;

    @ApiModelProperty("下级unionId")
    private String unionId;

    @ApiModelProperty("下级头像url")
    private String headUrl;

    @ApiModelProperty("下级所属区域")
    private Long areaId;

    @ApiModelProperty("成为见习会员时间")
    private Long traineeTime;

    @ApiModelProperty("上级uid")
    private String pid;

    @ApiModelProperty("上级昵称")
    private String pnickname;

    @ApiModelProperty("上级等级")
    private String puserLevel;

    @ApiModelProperty("上级头像url")
    private String pheadUrl;

    @ApiModelProperty("导师uid")
    private String tuid;

    @ApiModelProperty("导师昵称")
    private String tnickname;

    @ApiModelProperty("导师头像url")
    private String theadUrl;

    @ApiModelProperty("导师等级")
    private String tuserLevel;

    @ApiModelProperty("活动id")
    private String activityId;

    @ApiModelProperty("活动类型（MONTH_GIFT：月月领，REGIST_GIFT：注册有礼，LEVEL_UP_GIFT：升级有礼）")
    private String activityType;

    @ApiModelProperty("任务id")
    private String taskId;

    @ApiModelProperty("活动周期（Y/M/D，如果是周期类型活动，按自然年/月/日重新计算活动，按周期操作用户参与记录表）")
    private String taskPeriod;

    @ApiModelProperty("有效分享数")
    private Integer shareCount;

    @ApiModelProperty("实际收益")
    private Integer commission;

    @ApiModelProperty("预估佣金")
    private Integer estimateCommission;

    @ApiModelProperty("权益类型")
    private String awardType;

    @ApiModelProperty("奖励金金额")
    private Integer awardAmount;

    @ApiModelProperty("预估奖励金金额")
    private Integer estimateAwardAmount;

    @ApiModelProperty("推送发奖时间")
    private Long awardSendTime;

    @ApiModelProperty("贡献周期开始时间")
    private Long currentTaskStartTime;

    @ApiModelProperty("贡献周期结束时间")
    private Long currentTaskEndTime;

    @ApiModelProperty("是否可参与 YES：是，NO：否")
    private String participable;

    @ApiModelProperty("权益发放状态(0:未发放，1:发放成功，2:发放失败)")
    private String awardIssueStatus;

    @ApiModelProperty("是否已参加做任务: YES已经参加 ，NO 未参加")
    private String isParticipated;

    @ApiModelProperty("是否多任务")
    private Boolean multiTask;

    @ApiModelProperty("总阶数（多阶任务其他阶段任务被继承时可能等于1）")
    private Integer totalStage;

    @ApiModelProperty("当前阶数")
    private Integer stage;

    @ApiModelProperty("活动对外状态 0：进行中，1：审核中，2：已完成 3：未完成")
    private Integer commonTaskStatus;

    @ApiModelProperty("多阶段任务已发奖奖励信息")
    private List<SentAwardInfo> sentAwardInfoList;

    @ApiModelProperty("uid是否特邀用户 0:否 1:是")
    private Integer uidSpecialInvite;

    @ApiModelProperty("pid是否特邀用户 0:否 1:是")
    private Integer pidSpecialInvite;

    @ApiModelProperty("导师uid")
    private String advisorUid;

    @ApiModelProperty("上级所属区域")
    private Long superiorAreaId;

    @ApiModelProperty("下级特邀时间")
    private Long specialInviteTime;

    @ApiModelProperty("上级特邀时间")
    private Long superiorSpecialInviteTime;

    @ApiModelProperty("GMV")
    private Integer gmv;

    @ApiModelProperty("券领取时间")
    private Long awardRecordTime;

    @ApiModelProperty("券核销时间")
    private Long consumeTime;

    @ApiModelProperty("总邀请限额")
    private Integer inviteLimit;

    @ApiModelProperty("邀请次序")
    private Integer inviteSeq;

    @ApiModelProperty("已占用额度")
    private Integer usedInviteLimit;

    @ApiModelProperty("上级实时限额数")
    private Integer monthInviteLimit;

    @ApiModelProperty("是否审核中")
    private Boolean auditing;

    @ApiModelProperty(" 收货时间")
    private Long orderFinishTime;

    @ApiModelProperty("预估奖励佣金")
    private Integer rewardIncomeAmt;

    @ApiModelProperty("实际奖励佣金")
    private Integer actualSalesRewardIncomeAmtAll;

    @ApiModelProperty("扩展信息")
    private String extInfo;

}
